<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2016/9/29
 * Time: 22:04
 */

namespace Admin\Behaviors;

use Think\Behavior;
use User\Model\UserModel;

class CheckPermissionBehavior extends Behavior
{

    /**
     * 执行行为 run方法是Behavior唯一的接口
     * @access public
     * @param mixed $params 行为参数
     * @return void
     */
    public function run(&$params)
    {
        $url = implode('/',[MODULE_NAME,CONTROLLER_NAME,ACTION_NAME]);
        //所有用户都可访问的列表
        $ignore_pathes = C('IGNORE_PATHES');
        if(in_array($url,$ignore_pathes)){
            return;
        }
        //判断是否是超级管理员登录的
//        $user_token = session('NOW_USER_TOKEN');
//        $user_info = M('user')->where(['token'=>$user_token])->find();
//        if($user_info['username'] == 'pzl'){
//            return;
//        }
        //验证登录
        $user = new UserModel();
        if($user->loginValidate()){
            return;
            //登录用户都可访问的列表
//            $user_ignore_pathes = C('USER_IGNORE_PATHES');
//            if(in_array($url,$user_ignore_pathes)){
//                return;
//            }
//            echo "<script>alert('你的权限不足');history.back()</script>";
        }else{
            //否则跳转到登录页
            header("location:".U('User/Register/login'));
        }
        //如果不是所有人都可访问的地址
        //查询session数据与数据库中验证 和自动登录
//        $admin = D('Admin');
//        if($admin->autoLogin()){
//            //获取当前用户权限 能访问的目录
//            $paths = session('PATHS');
////            var_dump($paths);exit;
//            //如果该用户不拥有该权限
//            if(!in_array($url,$paths)){
//                //登录用户都可访问的列表
//                $user_ignore_pathes = C('USER_IGNORE_PATHES');
//                if(in_array($url,$user_ignore_pathes)){
//                    return;
//                }
//                echo "<script>alert('你的权限不足');history.back()</script>";
//            }
//        }else{
//            //否则跳转到登录页
//            header("location:".U('Admin/Admin/login'));
//        }
    }
}